#ifndef SERTHREAD_H
#define SERTHREAD_H

#include "SerialInfo.h"
#include <QObject>
#include <QSerialPort>
#include <QSerialPortInfo>
#include <QTimer>

class SerThread : public QObject {
    Q_OBJECT
public:
    explicit SerThread(QObject* parent = nullptr);
    ~SerThread(void);
    void SendData(QByteArray data,bool flag);
    QString InfoSet;


private:
    QSerialPort* MySerial;
    Sinfo* info = nullptr; // 串口配置
    QTimer* timer;
    QByteArray buffer; // 串口存储中转缓冲区

    void SerialClose();
    void RecvData();
public slots:
    void do_RecvSerialConfig(Sinfo* data);
    void do_OpenSerial();

    void do_CloseSerial();
signals:
    void sig_noSerialOpen();
    void sig_SetInfo(QString info);
    void sig_isRecvData(QByteArray);

};

#endif // SERTHREAD_H
